Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Обмін даними в ОС UNIX за допомогою неіменованих та іменованих каналів.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Організація обчислювальних процесів у паралельних системах

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЕОМ  Лабораторна робота №2 Здисципліни: «Організація обчислювальних процесів в паралельних системах» На тему: «Обмін даними в ОС UNIX за допомогою неіменованих та іменованих каналів.» Львів-2014 Мета роботи : Засвоїти принципи роботи неіменованих та іменованих каналів. Завдання : Неіменовані канали 1) Написати програму, що породжує синівський процес, який обмінюється інформацією з батьківським. При цьому синівський процес перенаправляє стандартний потік виводу у неіменований канал і передає інформацію батьківському використовуючи функцію printf(). Батьківський процес перенаправляє стандартний потік вводу і отримує інформацію від синівського використовуючи функцію gets().1.2. Іменовані канали 2) Організувати обмін інформацією між трьома програмами (що працюють одночасно). Дві з них пишуть інформацію в іменований канал, третя зчитує її (при цьому всі повідомлення від першої програми друкуються на екрані, повідомлення від другої програми ігноруються і виводиться інформація про кількість проігнорованих повідомлень). Теоретичні відомості Інформація про файли, які використовує процес, входить до складу його системного контексту і зберігається в його блоці керування - PCB. В операційній системі UNІX можна спрощено вважати, що інформація про файли, з якими процес здійснює операції потокового обміну, разом з інформацією про потокові лінії в'язку, що з'єднують процес з іншими процесами і пристроями вводу-виводу, зберігається в деякому масиві, що одержав назву таблиці відкритих файлів (таблиці файлових дескрипторів).Індекс елемента цього масиву, що відповідає визначеному потоку вводу-виводу, одержав назву файлового дескриптора для цього потоку. Таким чином, файловий дескриптор являє собою не велике ціле число, що для поточного процесу в даний момент часу однозначно визначає деякий діючий канал вводу-виводу. Деякі файловідескриптори на етапі старту будь-якої програми асоціюються зі стандартними потоками вводу-виводу. Так, наприклад, файловий дескриптор 0 відповідає стандартному потоку вводу, файловий дескриптор 1 - стандартному потоку виводу, файловий дескриптор 2 - стандартному потоку для виводу помилок. У нормальному інтерактивному режимі роботи стандартний потік вводу зв'язує процесс із клавіатурою, а стандартні потоки виводу і виводу помилок - з поточним терміналом. Файловий дескриптор використовується як параметр, що описує потік вводу-виводу, для системних викликів, що виконують операції над цим потоком. Тому перш ніж робити операції читання даних з файлу і запису їх у файл, ми повинні помістити інформацію про файл у таблицю відкритих файлів і визначити відповідний файловий дескриптор. Для цього застосовується процедура відкриття файлу, здійснювана системним викликом open(). Після завершення потокових операцій процес повинен виконати операцію закриття потоку вводу-виводу, під час якої відбудеться остаточне скидання буферів на лінії зв'язку, звільняться виділені ресурси операційної системи. При цьому елемент таблиці відкритих файлів, що відповідає файловому дескриптору, буде позначений як вільний. За ці дії відповідає системний виклик close(). Треба відзначити, що при завершенні роботипроцесу за допомогою явного чи неявного виклику функці їexіt() відбувається автоматичнее закриття усіх відкритих потоків вводу-виводу. Найбільш простим способом для передачі інформації за допомогою потокової моделі між різними процессами чи навіть всередині одного процесу в операційній системі UNIX є pіpe (канал, труба, конвеєр). Важлива відмінність pіp'а від файлу полягає в тім, що прочитана інформація негайно видаляється з нього і не може бути прочитана повторно. Системний виклик open призначений для виконання операції відкриття файлу і, у випадку його вдалого здійснення, повертає файловий дескриптор відкритого файлу. Системні виклики dup і dup2 створюють копію файлового дескриптора. Системний виклик wrіte призначений для здійснення потокових опера...
Антиботан аватар за замовчуванням

08.08.2014 14:08

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини